home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 22 / CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso / PowerPC / Programming / PPCSmallEiffel / bin_c / compile_to_c14.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  7.8 KB  |  278 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_c.h"
  9. void r873make(T873* C,T0* a1,T0* a2){
  10. C->_start_position=a1;
  11. C->_to_string=r902item(a2);
  12. }
  13. void r873mapping_c_target(T873* C,T0* a1){
  14. T0* _rt=NULL;
  15. int _flag=0;
  16. _flag=r324call_invariant_start(a1);
  17. _rt=X291run_type((((T873*)C))->_result_type/*24*/);
  18. /*IF*/if (X291is_reference(_rt)) {
  19. /*IF*/if (X291is_reference(a1)) {
  20. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  21. char b1='\50';
  22. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  23. }/*]*/
  24. /*]*/
  25. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  26. char b1='\50';
  27. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  28. }/*]*/
  29. /*]*/
  30. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  31. char b1='T';
  32. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  33. }/*]*/
  34. /*]*/
  35. /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
  36. /*]*/
  37. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  38. char b1='\52';
  39. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  40. }/*]*/
  41. /*]*/
  42. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  43. char b1='\51';
  44. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  45. }/*]*/
  46. /*]*/
  47. r324print_argument(((T324*)(oBC364cpp)),(((T873*)C))->_rank/*20*/);
  48. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  49. char b1='\51';
  50. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  51. }/*]*/
  52. /*]*/
  53. }
  54. else {
  55. r324print_argument(((T324*)(oBC364cpp)),(((T873*)C))->_rank/*20*/);
  56. }
  57. /*FI*/}
  58. else {
  59. /*IF*/if (X291is_reference(a1)) {
  60. r324print_argument(((T324*)(oBC364cpp)),(((T873*)C))->_rank/*20*/);
  61. }
  62. else {
  63. r324print_argument(((T324*)(oBC364cpp)),(((T873*)C))->_rank/*20*/);
  64. }
  65. /*FI*/}
  66. /*FI*//*IF*/if (_flag) {
  67. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
  68. char b1='\51';
  69. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  70. }/*]*/
  71. /*]*/
  72. }
  73. /*FI*/}
  74. /*No:ARGUMENT_NAME1.to_string*/
  75. /*No:ARGUMENT_NAME1.fz_iinaiv*/
  76. /*No:ARGUMENT_NAME1.dca_inline_argument*/
  77. /*No:ARGUMENT_NAME1.set_result_type*/
  78. /*No:ARGUMENT_NAME1.start_position*/
  79. void r873compile_to_c(T873* C){
  80. /*IF*/if (X291is_user_expanded((((T873*)C))->_result_type/*24*/)) {
  81. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
  82. char b1='\52';
  83. putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
  84. }/*]*/
  85. /*]*/
  86. }
  87. /*FI*/r324print_argument(((T324*)(oBC364cpp)),(((T873*)C))->_rank/*20*/);
  88. }
  89. /*No:ARGUMENT_NAME1.c_simple*/
  90. /*No:ARGUMENT_NAME1.set_rank*/
  91. T0* r873to_runnable(T873* C,T0* a1){
  92. T0* R=NULL;
  93. T0* _t2=NULL;
  94. T0* _t1=NULL;
  95. _t1=(((T873*)C))->_result_type/*24*/;
  96. _t2=X291to_runnable(_t1,a1);
  97. /*IF*/if ((_t2)==((void*)(NULL))) {
  98. r683add_position(X291start_position(_t1));
  99. r873error((((T873*)C))->_start_position/*16*/,((T0*)ms5_361));
  100. }
  101. /*FI*//*IF*/if (((((T873*)C))->_current_type/*8*/)==((void*)(NULL))) {
  102. C->_current_type=a1;
  103. C->_result_type=_t2;
  104. R=(T0*)C;
  105. }
  106. else {
  107. {T873*n=malloc(sizeof(*n));
  108. *n=M873;
  109. r873make_runnable(n,(T0*)C,a1,_t2);
  110. R=(T0*)n;
  111. }
  112. }
  113. /*FI*/return R;
  114. }
  115. /*No:ARGUMENT_NAME1.rank*/
  116. /*No:ARGUMENT_NAME1.result_type*/
  117. /*No:ARGUMENT_NAME1.is_result*/
  118. /*No:ARGUMENT_NAME1.is_static*/
  119. T0* r873base_class_written(T873* C){
  120. T0* R=NULL;
  121. R=r451base_class(((T451*)(r873written_in(C))));
  122. return R;
  123. }
  124. /*No:ARGUMENT_NAME1.can_be_dropped*/
  125. /*No:ARGUMENT_NAME1.current_type*/
  126. /*No:ARGUMENT_NAME1.compile_to_c_old*/
  127. /*No:ARGUMENT_NAME1.static_value_mem*/
  128. /*No:ARGUMENT_NAME1.is_manifest_string*/
  129. /*No:ARGUMENT_NAME1.is_void*/
  130. /*No:ARGUMENT_NAME1.is_pre_computable*/
  131. /*No:ARGUMENT_NAME1.use_current*/
  132. void r873error(T0* a1,T0* a2){
  133. r683add_position(a1);
  134. r683error(((T683*)(oBC364eh)),a2);
  135. }
  136. /*No:ARGUMENT_NAME1.isa_dca_inline_argument*/
  137. /*No:ARGUMENT_NAME1.em_ba*/
  138. /*No:ARGUMENT_NAME1.afd_check*/
  139. void r873make_runnable(T873* C,T0* a1,T0* a2,T0* a3){
  140. *((T873*)(C))=*((T873*)(a1));
  141. C->_current_type=a2;
  142. C->_result_type=a3;
  143. }
  144. T0* r292add_comment(T292* C,T0* a1){
  145. T0* R=NULL;
  146. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  147. R=(T0*)C;
  148. }
  149.  else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) {
  150. R=(T0*)C;
  151. }
  152. else {
  153. {T46*n=malloc(sizeof(*n));
  154. *n=M46;
  155. r46make(n,(T0*)C,a1);
  156. R=(T0*)n;
  157. }
  158. }
  159. /*FI*/}
  160. /*FI*/return R;
  161. }
  162. void r292make(T292* C,T0* a1,T0* a2,T0* a3){
  163. {T623*n=malloc(sizeof(*n));
  164. *n=M623;
  165. r623make(n,a1,a2,a3);
  166. C->_check_invariant=(T0*)n;
  167. }
  168. }
  169. /*No:E_CHECK.start_position*/
  170. void r292compile_to_c(T292* C){
  171. /*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
  172. r623compile_to_c(((T623*)((((T292*)C))->_check_invariant/*8*/)));
  173. }
  174. /*FI*/}
  175. T0* r292to_runnable(T292* C,T0* a1){
  176. T0* R=NULL;
  177. T0* _al=NULL;
  178. /*IF*/if (((((T292*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  179. C->_run_compound=a1;
  180. /*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
  181. _al=r623to_runnable(((T623*)((((T292*)C))->_check_invariant/*8*/)),(((T592*)((T592*)a1)))->_current_type/*4*/);
  182. /*IF*/if ((_al)==((void*)(NULL))) {
  183. r292error(/*(IRF4.6start_position*/(((T623*)((T623*)((((T292*)C))->_check_invariant/*8*/))))->_start_position/*0*//*)*/,((T0*)ms1_292));
  184. }
  185. else {
  186. C->_check_invariant=_al;
  187. R=(T0*)C;
  188. }
  189. /*FI*/}
  190. else {
  191. R=(T0*)C;
  192. }
  193. /*FI*/}
  194. else {
  195. {T292*n=malloc(sizeof(*n));
  196. *n=M292;
  197. r292make(n,/*(IRF4.6start_position*/(((T623*)((T623*)((((T292*)C))->_check_invariant/*8*/))))->_start_position/*0*//*)*/,NULL,(((T623*)((T623*)((((T292*)C))->_check_invariant/*8*/))))->_list/*8*/);
  198. R=(T0*)n;
  199. }
  200. R=r292to_runnable(((T292*)R),a1);
  201. }
  202. /*FI*/return R;
  203. }
  204. /*No:E_CHECK.check_invariant*/
  205. /*No:E_CHECK.run_compound*/
  206. int r292is_pre_computable(T292* C){
  207. int R=0;
  208. /*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
  209. R=r623is_pre_computable(((T623*)((((T292*)C))->_check_invariant/*8*/)));
  210. }
  211. else {
  212. R=1;
  213. }
  214. /*FI*/return R;
  215. }
  216. int r292use_current(T292* C){
  217. int R=0;
  218. /*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
  219. R=r623use_current(((T623*)((((T292*)C))->_check_invariant/*8*/)));
  220. }
  221. /*FI*/return R;
  222. }
  223. void r292error(T0* a1,T0* a2){
  224. r683add_position(a1);
  225. r683error(((T683*)(oBC364eh)),a2);
  226. }
  227. /*No:E_CHECK.end_mark_comment*/
  228. void r292afd_check(T292* C){
  229. /*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
  230. r623afd_check(((T623*)((((T292*)C))->_check_invariant/*8*/)));
  231. }
  232. /*FI*/}
  233. /*No:INFIX_NAME.set_is_frozen*/
  234. void r454make(T454* C,T0* a1,T0* a2){
  235. C->_to_string=r902item(a1);
  236. C->_start_position=a2;
  237. C->_to_key=r902for_infix((((T454*)C))->_to_string/*4*/);
  238. }
  239. /*No:INFIX_NAME.to_string*/
  240. /*No:INFIX_NAME.start_position*/
  241. /*No:INFIX_NAME.to_key*/
  242. T0* r454name_in(T454* C,T0* a1){
  243. T0* R=NULL;
  244. T0* _bc=NULL;
  245. _bc=r454origin_base_class(C);
  246. /*IF*/if ((_bc)==((void*)(a1))) {
  247. R=(T0*)C;
  248. }
  249. else {
  250. R=r605new_name_of(((T605*)a1),_bc,(T0*)C);
  251. }
  252. /*FI*/return R;
  253. }
  254. /*No:INFIX_NAME.is_frozen*/
  255. void r454undefine_in(T454* C,T0* a1){
  256. /*IF*/if ((((T454*)C))->_is_frozen/*12*/) {
  257. r454error((((T454*)C))->_start_position/*8*/,((T0*)ms1_776));
  258. r605fatal_undefine(((T605*)a1),(T0*)C);
  259. }
  260. /*FI*/}
  261. /*No:INFIX_NAME.cpp_put_infix_or_prefix*/
  262. void r454error(T0* a1,T0* a2){
  263. r683add_position(a1);
  264. r683error(((T683*)(oBC364eh)),a2);
  265. }
  266. /*No:INFIX_NAME.mapping_c_in*/
  267. T0* r454origin_base_class(T454* C){
  268. T0* R=NULL;
  269. T0* _sp=NULL;
  270. _sp=(((T454*)C))->_start_position/*8*/;
  271. /*IF*/if ((_sp)!=((void*)(NULL))) {
  272. R=r627base_class(((T627*)_sp));
  273. }
  274. /*FI*/return R;
  275. }
  276. /*No:INFIX_NAME.fz_infix*/
  277.  
  278.